package com.dd.cloud.user.mapper.pres;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dd.cloud.user.entity.pres.DrugsModel;
import com.dd.cloud.user.req.pres.PresPageReq;
import com.dd.cloud.user.res.pres.DrugsModelInfoListRes;
import com.dd.cloud.user.res.pres.DrugsModelManagePageRes;
import com.dd.cloud.user.res.pres.DrugsModelPageRes;
import com.dd.cloud.common.mybatis.RootMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 中药仓库表 Mapper 接口
 * </p>
 *
 * @author czg
 * @since 2022-05-09
 */
public interface DrugsModelMapper extends RootMapper<DrugsModel> {
    /**
     * 分页查询药材
     *
     * @param page
     * @param req
     * @return
     */
    Page<DrugsModelPageRes> getDrugsModelPage(Page<?> page, @Param("req") PresPageReq req);

    /**
     * 查询所有药材, to es
     *
     * @return
     */
    List<DrugsModelPageRes> getDrugsModelList();

    /**
     * 通过药房id和药品名模糊查询药品列表
     *
     * @param pharId
     * @param pharFlag
     * @param name
     * @return
     */
    List<DrugsModelInfoListRes> queryDrugsListByNameAndPharId(@Param("pharId") Integer pharId, @Param("pharFlag") Integer pharFlag, @Param("name") String name);

    /**
     * 分页查询药品折扣价
     * @param page
     * @param req
     * @return
     */
    Page<DrugsModelManagePageRes> getDrugsModelManagePage(Page<DrugsModelManagePageRes> page, PresPageReq req);


    /**
     * 查询药品名称
     * @param pharId
     * @param drugNames
     * @return
     */
    List<DrugsModel> queryDrugsBatch(@Param("drugNames") String[] drugNames,
                                     @Param("pharId") Integer pharId);
}
